SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [dbo].[paExistenServiciosActivosDeSuplentesComunes]

@Anio INT,
@Mes INT,
@CuiseDesde INT, 
@CuiseHasta INT, 
@Existe  BIT OUTPUT 


AS

SET NOCOUNT ON
SET DATEFORMAT dmy

DECLARE @IdUsuario INT 
DECLARE @RegistrosEncontrados INT 

SET @IdUsuario = dbo.sp_usuario(SYSTEM_USER)


		SELECT @RegistrosEncontrados =  COUNT(S.IdServicioAgente)
                               FROM VwServiciosAgentesSF S
                                    INNER JOIN Tb_Afiliaciones Af ON Af.IdAgente = S.IdAgente AND Af.Organismo = 1 AND S.Documento <> Af.numeroAfiliado
			WHERE S.IdSituacionRevista = 4
                                        AND S.SitLabUltimoSub <> 'LS'   ----- 18/12/2008 se agrego esto para sacar los servicios que estan de Licencia Sin Goce (Deberia ser solo para el Cargo Mayor Gerarquia, tenemos que ver de traer el ID de Licencia) mañana
			AND ((Month(S.FechaAlta) < @Mes AND Year(S.FechaAlta) = @Anio) OR ( Year(S.FechaAlta) < @Anio))   
			AND S.FechaBaja IS NULL
			AND EXISTS (
					SELECT TOP 1 Org.CUISE FROM TB_RelUsuarioOrganizacion RUO 
						INNER JOIN Tb_Organizaciones Org ON Org.IdOrganizaciones = RUO.IdOrganizacion 
						WHERE RUO.IdUsuario=@IdUsuario AND ORG.CUISE=S.CUISE AND Org.CUISE BETWEEN @CuiseDesde AND @CuiseHasta
				         )
			AND NOT Exists
				(SELECT top 1  C.IdCola 
					FROM vw_ColaDeMovimientosContinuidades C 
					WHERE  C.IdServicioBase = S.idServicioAgente AND ((Month(C.Fecha1) >= @Mes AND Year(C.Fecha1) = @Anio) OR (Year(C.Fecha1) > @Anio))
				)

SET @Existe = 0 
IF @RegistrosEncontrados  > 0 
    SET @Existe = 1

RETURN @Existe
GO
GRANT EXECUTE ON  [dbo].[paExistenServiciosActivosDeSuplentesComunes] TO [PersonalDocente]
GRANT EXECUTE ON  [dbo].[paExistenServiciosActivosDeSuplentesComunes] TO [PersonalDocenteDireccion]
GO
